import 'dart:ui';
/// 颜色工具类
class ColorUtil {
  ///  将 CSS 颜色值转换为 Flutter 的 Color 对象
  static Color cssToColor(String cssColor) {
    // 去掉 # 号
    String hexColor = cssColor.replaceAll('#', '');
    // 处理 6 位颜色值
    if (hexColor.length == 6) {
      hexColor = 'FF$hexColor'; // 添加完全不透明的 Alpha 值
    }
    // 处理 8 位颜色值
    if (hexColor.length == 8) {
      // 将 Alpha 值从开头移动到末尾
      String alpha = hexColor.substring(0, 2);
      String rgb = hexColor.substring(2, 8);
      hexColor = '$rgb$alpha';
    }
    // 将十六进制字符串转换为整数
    return Color(int.parse(hexColor, radix: 16));
  }

  /// 将 rgb 或 rgba 颜色值转换为 Flutter 的 Color 对象
  static Color rgbToColor(String cssColor) {
    // 去掉 rgb 或 rgba 前缀
    cssColor = cssColor.replaceAll('rgb(', '').replaceAll('rgba(', '').replaceAll(')', '');
    // 分割 R, G, B, A 值
    List<String> parts = cssColor.split(',');

    int r = int.parse(parts[0].trim());
    int g = int.parse(parts[1].trim());
    int b = int.parse(parts[2].trim());
    double a = parts.length > 3 ? double.parse(parts[3].trim()) : 1.0;
    return Color.fromRGBO(r, g, b, a);
  }
  /// app导航栏标题颜色
  static Color appBarTitleColor = rgbToColor('rgba(0, 0, 0, 0.85)');
  /// 页面背景颜色
  static Color pageBackgroundColor = rgbToColor('rgba(245, 245, 245, 1)');
  /// 我的痛柜包邮文字颜色
  static Color myPaintingFreeColor = rgbToColor('rgb(245, 95, 78)');
  /// 我的痛柜发货说明文字颜色
  static Color myPaintingDeliveryColor = rgbToColor('rgb(89, 89, 89)');
  /// 我的痛柜列表背景颜色
  static Color myPaintingListBackgroundColor = rgbToColor('rgba(255, 255, 255, 1)');
  /// 我的痛柜暂存期背景颜色
  static Color myPaintingStagingPeriodBackgroundColor = rgbToColor('rgba(110, 121, 132, 1)');
}